package com.ai.nsa;

import java.util.Arrays;
import java.util.List;

/**
 * @author Feng Chen 2017/6/19.
 */
public abstract class NSAFields {

    /**
     * 主表
     */
    public static final List<String> MASTER_FIELDS = Arrays.asList(
            "SERIAL_NUMBER",        // 服务号码
            "TRADE_DATE",           // 受理日期
            "ACCEPT_DATE",          // 受理时间
            "TRADE_STAFF_ID",       // 受理员工
            "IN_MODE_CODE",         // 受理渠道
            "TRADE_ID",             // 业务流水号
            "INTERACT_TYPE",        // 交互类型
            "INTERACT_DESC"         // 交互描述
    );

    /**
     * 营销业务办理
     */
    public static final List<String> SLAVE_MKT = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "ORDER_ID",                     // 订单标识
            "CAMPN_ID",                     // 活动标识
            "TRADE_TYPE_CODE",              // 业务类型
            "ACCT_ID",                      // 帐户标识
            "EPARCHY_CODE",                 // 归属地州
            "CITY_CODE",                    // 归属业务区
            "PRODUCT_ID",                   // 产品标识
            "BRAND_CODE",                   // 品牌编码
            "CANCEL_TAG",                   // 返销标志
            "CANCEL_DATE",                  // 返销时间
            "CANCEL_STAFF_ID"               // 返销员工
    );

    /**
     * 产品变更
     */
    public static final List<String> SLAVE_PRODUCT = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "ORDER_ID",                     // 订单标识
            "TRADE_TYPE_CODE",              // 业务类型
            "ACCT_ID",                      // 帐户标识
            "EPARCHY_CODE",                 // 归属地州
            "CITY_CODE",                    // 归属业务区
            "PRODUCT_ID",                   // 产品标识
            "BRAND_CODE",                   // 品牌编码
            "CANCEL_TAG",                   // 返销标志
            "CANCEL_DATE",                  // 返销时间
            "CANCEL_STAFF_ID"               // 返销员工
    );

    /**
     * 积分兑换
     */
    public static final List<String> SLAVE_ITEGRAL = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "ORDER_ID",                     // 订单标识
            "TRADE_TYPE_CODE",              // 业务类型
            "ACCT_ID",                      // 帐户标识
            "EPARCHY_CODE",                 // 归属地州
            "CITY_CODE",                    // 归属业务区
            "PRODUCT_ID",                   // 产品标识
            "BRAND_CODE",                   // 品牌编码
            "CANCEL_TAG",                   // 返销标志
            "CANCEL_DATE",                  // 返销时间
            "CANCEL_STAFF_ID"               // 返销员工
    );

    /**
     * 银行缴费
     */
    public static final List<String> SLAVE_BANK_CHARGE = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "ACCT_ID",                      // 帐户标识
            "CHANNEL_ID",                   // 渠道标识
            "PAYMENT_ID",                   // 储值方式
            "PAY_FEE_MODE_CODE",            // 付费方式代码
            "PAYMENT_OP",                   // 储值操作
            "RECV_FEE",                     // 收费金额
            "RECV_STAFF_ID",                // 交易员工
            "EXTEND_TAG",                   // 交易类别
            "CANCEL_TAG",                   // 返销标志
            "CANCEL_TIME",                  // 返销时间
            "CANCEL_STAFF_ID",              // 返销员工
            "CANCEL_CHARGE_ID"              // 返销关联流水
    );

    /**
     * 永不停机
     */
    public static final List<String> SLAVE_NOHALT = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "ACCT_ID",                      // 帐户标识
            "CHANNEL_ID",                   // 渠道标识
            "PAYMENT_ID",                   // 储值方式
            "PAY_FEE_MODE_CODE",            // 付费方式代码
            "PAYMENT_OP",                   // 储值操作
            "RECV_FEE",                     // 收费金额
            "RECV_STAFF_ID",                // 交易员工
            "EXTEND_TAG",                   // 交易类别
            "CANCEL_TAG",                   // 返销标志
            "CANCEL_TIME",                  // 返销时间
            "CANCEL_STAFF_ID",              // 返销员工
            "CANCEL_CHARGE_ID"              // 返销关联流水
    );

    /**
     * 永不停机
     */
    public static final List<String> SLAVE_OPTLOG = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "SERIAL_NUMBER_B",              // 主叫号码
            "CALL_LEVEL",                   // 受理号码等级
            "IS_NATIVE",                    // 是否本省号码
            "BRAND_CODE_A",                 // 品牌
            "PRODUCT_ID_A",                 // 服务号码产品标识
            "OP_CODE",                      // 业务编码
            "OP_TYPE",                      // 操作类型
            "OP_RESULTCODE",                // 操作状态
            "OP_RESULTINFO",                // 操作结果描述
            "UPDATE_TIME",                  // 更新时间
            "RSRV_STR1"                     // 呼入流水号
    );

    /**
     * 登录
     */
    public static final List<String> SLAVE_WEBTRACE = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "HOST",                         // 域名
            "CH_ID",                        // 渠道id
            "SI_N",                         // 流程名称
            "PN_SKU",                       // 产品代码
            "PN",                           // 产品名称
            "PC",                           // 产品类型
            "ES",                           // 完整url地址
            "SI_N",                         // 流程名称
            "SI_P",                         // 流程步骤名称
            "SI_X",                         // 流程步骤页详细名称
            "OBJ",                          // 点击对象类型
            "AREA",                         // 点击对象区域
            "SERIAL",                       // 点击对象区域内序号
            "PAGETITLE",                    // 点击对象所在页面标题
            "IP",                           // IP地址
            "RH_DOM",                       // 网页域名
            "AL_CM",                        // 活动名称
            "CPNID"                         // 活动id
    );

    /**
     * 关注
     */
    public static final List<String> SLAVE_FOCUS = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "BUSI_NAME",                    // 关注业务名称
            "ID",                           // 关注编码
            "BUSI_SHORTDES",                // 关注业务简述
            "BUSI_TYPE",                    // 关注业务类型
            "OPER_TYPE"                     // 操作类型
    );


    /**
     * 登录
     */
    public static final List<String> SLAVE_LOGIN = Arrays.asList(
            "SERIAL_NUMBER",                // 服务号码
            "ACCEPT_DATE",                  // 受理时间
            "TRADE_STAFF_ID",               // 受理员工
            "IN_MODE_CODE",                 // 受理渠道
            "TRADE_ID",                     // 业务流水号
            "INTERACT_TYPE",                // 交互类型
            "INTERACT_DESC",                // 交互描述
            "BUSI_NAME",                   // 关注业务名称
            "LOGIN_STATUS"
    );


}
